home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / STUTTGART / EMULATOR / CPC_DEMO / !CPC_Demo / !Help < prev    next >
Text File  |  1996-02-15  |  15KB  |  331 lines

  1.  
  2.  !CPC_Demo - An Amstrad CPC emulator for Acorn RISC OS machines (demo)
  3.  =====================================================================
  4.  
  5. [For information on the full version of this emulator, !CPC, see
  6. the end of this document.]
  7.  
  8. Copyright
  9. ---------
  10.  
  11. !CPC_Demo is Copyright (C) 1996 Mark RISON.  This copyright extends to
  12. all the files provided in or with !CPC_Demo, except the ROM images
  13. below.  The BASIC and OS ROM images are copyright Amstrad and Locomotive
  14. Software, and are distributed with their kind permission.  The AMSDOS
  15. ROM image is copyright Amstrad and Digital Research (Novell), and is
  16. distributed with their kind permission (well, Amstrad's at least...).
  17.  
  18. Conditions of use
  19. -----------------
  20.  
  21. You may only use !CPC_Demo for your own personal and non-commercial
  22. purposes.  You may freely distribute !CPC_Demo (including by FTP or BBS)
  23. provided you do not modify it in any way (you must distribute it in its
  24. entirety, including this file), and do not charge anything, either
  25. directly or indirectly.  You may not, however, put !CPC_Demo on CD
  26. without explicit permission.
  27.  
  28. No guarantee of any kind is made concerning operation of !CPC_Demo.  You
  29. use !CPC_Demo at your own risk; you are advised to save all your work
  30. before launching !CPC_Demo.
  31.  
  32. Introduction
  33. ------------
  34.  
  35. The Amstrad CPC range of computers was a hugely successful range of
  36. 8-bit computers.  There were 3 models.  The CPC464 was released in 1984
  37. and consisted of a central unit, a cassette unit and a monitor in one
  38. package.  The CPC664 was released in 1985, and had a 3" disc drive
  39. instead of the cassette unit.  The CPC6128 was released soon after, the
  40. only significant difference being the addition of 64K of bank-switched
  41. RAM.
  42.  
  43. All models were based around a Z80 CPU running at an effective 3.3 MHz.
  44. There was 64K of main RAM and 32K of ROM to contain the BASIC and OS;
  45. the disc drive models had an extra 16K ROM to hold the DOS, and the 6128
  46. had an extra 64K of RAM.  The screen could be operated in one of three
  47. modes: 640x200 in 2 colours, 320x200 in 4 colours, and 160x200 in 16
  48. colours -- from a palette of 27 colours (27 greens on the green screen
  49. models).  Sound capabilities ran to 3 channels with noise and hardware
  50. enveloping if desired.  Two joysticks could be used with the machine. 
  51. CP/M was an option on the disc models (CP/M 2.2 on both, and CP/M+ on
  52. the 6128).
  53.  
  54. !CPC_Demo aims to emulate a real CPC in sufficient detail to allow
  55. programs written for the CPC to be used under RISC OS.  This entails
  56. quite considerable translation from the CPC world to the RISC OS world;
  57. nonetheless !CPC_Demo is roughly as fast as the real thing on machines
  58. with an ARM3 (and faster with newer machines).
  59.  
  60. A reminder of RISC OS operations
  61. --------------------------------
  62.  
  63. To open a RISC OS directory, double-click on it.  If it's an application
  64. (it's got a ! at the start), press Shift as well, else the application
  65. will be run.  To copy files from one directory to another, open both and
  66. drag from one to the other.  To load a given file into a text editor
  67. (e.g. !Edit) double-click on it while pressing Shift -- when you've
  68. finished the editing pressing F3 followed by Return should save the
  69. edited version.  Finally, to access the command line (to type *
  70. commands, setting variables, for example), press F12 -- when you've
  71. finished press Return on its own.
  72.  
  73. File formats
  74. ------------
  75.  
  76. The most common file format (after dearchiving) is the disc image
  77. format.  This can be recognised by filenames ending in .DSK (/DSK under
  78. the standard DOS mapping).  Discs must be used under AMSDOS (see below)
  79. -- use CAT to see what's on them, and something like RUN"MEGADETH" to
  80. run them (file extensions need not normally be specified).  Do not
  81. attempt to write to discs: !CPC_Demo does not support this at present. 
  82. Discs should be placed in the subdirectory Discs in !CPC_Demo.  If you
  83. set a disc's filetype to "CPC disc" (&065 at present), double-clicking on
  84. the disc with launch !CPC_Demo with it.
  85.  
  86. Another file format is the snapshot format, recognisable by filenames
  87. ending in .SNA (/SNA).  Snaps must be used under PseuDOS (see below). 
  88. Use |SNAP,"MEGADETH" to launch snapshot MEGADETH.  Snaps should be
  89. placed in the subdirectory Snaps in !CPC_Demo.  If you set a snap's
  90. filetype to "CPC snap" (&064 at present), double-clicking on the snap
  91. will launch !CPC_Demo with it.  |SNAPS will give a list of snapshots.
  92.  
  93. The last file format is the native AMSDOS format, consisting of one or
  94. more files with filenames typically ending in .BAS or .BIN.  These need
  95. to be converted to PseuDOS format using !AmsToArc (see below), and
  96. placed in the subdirectory Tapes in !CPC_Demo.  These programs are
  97. typically launched with RUN"MEGADETH".
  98.  
  99. Using !CPC_Demo
  100. ---------------
  101.  
  102. !CPC_Demo should mostly behave just like a real CPC!  !CPC_Demo has some
  103. extra features, however.  You can reset the CPC not only using
  104. Shift-Ctrl-Esc, but also by pressing Alt-Esc (you may need to try a few
  105. times for this to work).  You can quit !CPC_Demo by pressing Alt-F12, or
  106. by typing |QUIT (if you're using PseuDOS and not AMSDOS).
  107.  
  108. One joystick is emulated, using Insert, Home, Page Up, Page Down, Num
  109. Lock and keypad / for left, right, up, down, main fire and secondary
  110. fire respectively.  !CPC_Demo also supports two standard Acorn
  111. joysticks, as found on the A3010, which will behave just like CPC
  112. joysticks.
  113.  
  114. If a program seems to be attempting to constantly change the screen
  115. colours, you can press Alt-P to lock out changes.  You can try this a
  116. few times until you get a suitable palette.  If a program seems to be
  117. attempting to constantly change the screen resolution, you can press
  118. Alt-M to lock out changes -- again, you can keep trying until the bit
  119. you're interested in appears right.
  120.  
  121. You can squeeze extra performance out of !CPC by running in MODE 12
  122. rather than a higher resolution mode such as MODE 20.  This is
  123. especially the case for games which use screen banking for smooth
  124. animation -- symptoms are faint horizontal interleave patterns on the
  125. screen.  In certain cases, turning palette switching off (with Alt-P)
  126. will also speed things up.
  127.  
  128. If the machine seems to hang and neither Alt-Esc nor Alt-F12 seem to get
  129. things back under control, you can attempt to kill the emulator off
  130. with Alt-Delete.  This should be a solution of last resort!  If even
  131. this does not seem to help, well ... you were advised to save all your
  132. work before launching !CPC_Demo, weren't you?
  133.  
  134. PseuDOS and AMSDOS
  135. ------------------
  136.  
  137. AMSDOS is the original DOS provided with disc models.  It supports discs
  138. containing about 170K of data.  Various | commands are provided by it to
  139. handle disc files (|ERA, |REN, etc.).  !CPC_Demo only supports enough of
  140. AMSDOS to get standard disc images to load -- complex disc operations,
  141. as well as writing, will fail.  To use AMSDOS the system variable
  142. CPC$DOS should be set to AMSDOS (use *SET CPC$DOS AMSDOS from the
  143. command line to do so).  The disc to be used can be set in CPC$Disc
  144. (e.g. *SET CPC$Disc Megadeth); alternatively, if this variable is not
  145. set, a list of available discs will be given, and you will be asked to
  146. choose one.
  147.  
  148. PseuDOS is a DOS whose purpose is to allow 'tape' files to be used.
  149. These files are held as RISC OS files in a special format.  PseuDOS
  150. provides full access to these files, both in reading and in writing. In
  151. addition, PseuDOS redefines the CPC keyboard mappings to follow the UK
  152. RISC OS keyboard -- so if you're using AMSDOS some keys will be wrong
  153. (in particular, " will be obtained with Shift-2).  To use PseuDOS the
  154. system variable CPC$DOS should be set to PseuDOS (*SET CPC$DOS PseuDOS). 
  155. !AmsToArc (as found in the Support subdirectory in !CPC_Demo) should be
  156. used to make PseuDOS format files -- see the help file there for more
  157. details.
  158.  
  159. CheckSnap and CheckDisc, as found in the Support subdirectory, allow you
  160. to check whether a snap or a disc is broken in some way.  Simply
  161. double-click to launch, and give the name of the snap or disc to be
  162. checked when prompted.
  163.  
  164. Treat both AMSDOS and PseuDOS with care -- don't do unexpected things.
  165. For example, if you are using floppy discs, try to keep the disc in the
  166. drive all the time.  If you are saving under PseuDOS, make sure there's
  167. enough free space, and that the disc isn't write-protected.
  168.  
  169. Configuring !CPC_Demo
  170. ---------------------
  171.  
  172. !CPC_Demo can be configured by editing the file !Config in !CPC_Demo.
  173. After you've edited this file, double-click on it to execute it.
  174.  
  175. By changing the value for CPC$ScreenMode you can change the screen mode
  176. !CPC_Demo uses.  Recommended values are 12 if you have a low resolution
  177. monitor (or TV), 20 or 27 if you have a multisync or VGA monitor, or 46
  178. if you have a CGA monitor.  A value of -1 will select the screen mode in
  179. use when !CPC_Demo is launched.  In all cases the screen mode must be a
  180. 16-colour mode.  If you have a RiscPC, you can use a string such as
  181. X640Y400C16 to select such a mode if it is appropriate.
  182.  
  183. CPC$Slowdown selects the amount of slowdown to be used for fast machines
  184. (RiscPCs) to make them as slow as a real CPC.  Values of the order of
  185. 10000 should be OK.
  186.  
  187. CPC$DOS selects the DOS -- use either AMSDOS or PseuDOS.  If AMSDOS, you
  188. can specify a disc name with CPC$Disc.
  189.  
  190. CPC$MachineType selects the machine type.  You can choose either 464,
  191. 664 or 6128.  Please read the section on machine types below for
  192. guidance.
  193.  
  194. If you would like to change the place where tapes, discs or snaps are to
  195. be found, you can alter DriveA, CPCDisc$Path and CPCSnap$Path.  Note the
  196. latter two are path variables, so you can have more than one directory
  197. of discs or snaps -- but remember to put a trailing dot!
  198.  
  199. The other variables should not normally need changing.
  200.  
  201. Machine types
  202. -------------
  203.  
  204. There is a bug in BASIC 1.0 as found on the 464 which means strings
  205. cannot be used in | commands.  The result is that you cannot for example
  206. use |SNAP,"MEGADETH" to run Megadeth II - final carnage, but have to use
  207. A$="MEGADETH":|SNAP,@A$ instead.  Don't use the 464 machine type unless
  208. a program won't work with any others.
  209.  
  210. If you use the 6128 machine type, a program may assume you've got extra
  211. RAM available, and try to make use of it.  Using the 664 machine type
  212. should prevent this.  Some snapshots, however, may only work with the
  213. 6128 machine type. You'll have to try and see.
  214.  
  215. Limitations
  216. -----------
  217.  
  218. Disc handling is limited, as discussed above.
  219.  
  220. The Z80 R register is not emulated.  This means some programs which
  221. use R as a source of random numbers will behave rather predictably.
  222.  
  223. Z80 BCD operations are not emulated properly.  This means some programs
  224. won't count properly, which could be either very useful or very
  225. disastrous!
  226.  
  227. Z80 parity operations are not emulated.  This will only rarely cause
  228. trouble.
  229.  
  230. Sound is not supported.
  231.  
  232. You cannot save snaps or make screendumps.
  233.  
  234. RAM banking (a la CPC6128) is not supported -- you'll get an error
  235. message ('Internal error: BANK').
  236.  
  237. Extension ROMs are not supported.
  238.  
  239. Thanks
  240. ------
  241.  
  242. Thanks are due to a large number of people.  I fear the list below may
  243. be incomplete: not having kept a list right from the start, I had to
  244. compile one from my records.  If you feel you've been left out, please
  245. do not hesitate to get in touch; I'll immediately set the record straight!
  246.  
  247. Nothing should be read into the ordering of this list (it is
  248. actually ordered by e-mail address!).
  249.  
  250. Jim Nagel, for a mention in his Computer Shopper column
  251. Cliff Lawson, for permission to distribute Amstrad copyright material
  252. Dave Long, for getting me to release !CPC in the first place
  253. Frederic Elisei, pour les echanges techniques presque en continu
  254. Kevin Thacker, for his stupendous WWW site, lots of FDC info, etc.
  255. Nige Jones, for !CPCFront and valuable discussions
  256. Richard Black, for info on ARM2/3 speed optimisations
  257. Andrew Hodgkinson, for info on WimpSlot intricacies
  258. Alan Glover, for accepting to post my propaganda to c.s.a.announce
  259. Arnt Gulbrandsen, for ftp.nvg.unit.no
  260. Adam Parsons, for !CPCDisk
  261. Mike Borcherds, for info on emulation intricacies
  262. Bernd Schmidt, for info on emulation intricacies
  263. Mark Wooding, for info on RISC OS intricacies
  264. Dave Allison, for info on task killers
  265. Frank Cringle, for yaze and its brilliant Z80 exerciser
  266. Martin Wheatley, for the games list and valuable discussions
  267. Ian Johnson, for info on task killers
  268. Mark Sinclair, for his MDFs for RiscPCs
  269. Andreas Stroiczek, for competition (!CPCEmu)
  270. Noel Llopis, for ftp.nvg.unit.no
  271. Richard Fairhurst, for FDC info
  272. Richard Clayton, for permission to distribute Locomotive Software copyright material
  273. Emmanuel Roussin, for the CPC FAQ and ftp.ibp.fr
  274. Richard Wilson, for info on the Wimp
  275. Susanne Albrecht, for info on Z80 block I/O ops
  276. Sue Sound, for info on Z80 block I/O ops
  277. Thomas Hawtin, for excellent ideas about speeding-up the emulator
  278. Tony ?, for info on Z80 block I/O ops
  279. Thomas Down, for info on task killers
  280. Timothy Partridge, for info on ARM2/3 speed optimisations
  281. All the spodders on Egham Hills, for lots of technical chit-chat
  282. Everybody who tried out !CPC while it was in its beta test phase
  283. Everybody who showed their appreciation by contributing to the full version
  284. And everybody else who gave me valuable feedback and encouragment!
  285.  
  286. Kaj kompreneble Marianne, kiu toleris mian duon-edzighon al la komputilo!
  287.  
  288. No thanks to those who promised feedback and didn't provide any.
  289.  
  290. Feedback
  291. --------
  292.  
  293. Feedback of any nature is very welcome!  Please write to the author.
  294.  
  295. The full version, !CPC
  296. ----------------------
  297.  
  298. A full version of this emulator, !CPC, is available, which fixes most of
  299. the limitations above.  It is available only from the author.
  300.  
  301. !CPC is free, but you are asked to consider making a contribution to
  302. its development.  Something in the range GBP 10-20 is suggested,
  303. depending on your appreciation of the program and your level of use.
  304.  
  305. To get !CPC, write to the author.  If you have access to the Internet,
  306. try e-mail first.  Failing that, send a stamped self-addressed envelope
  307. together with a blank, formatted 800K (double density) disc to the
  308. author.  Please note that if any of these ingredients is missing, no
  309. response is likely to be forthcoming!
  310.  
  311. No guarantees of any kind are made concerning operation of !CPC.  It has
  312. been tested on an 4 MB A440/1 with ARM3/25.  It will probably not work
  313. with only 1 MB.
  314.  
  315. Also note that making a contribution does not guarantee you any future
  316. updates, though it is planned to make these available on the Internet,
  317. or by sending a disc and SAE as above.
  318.  
  319. Contact details
  320. ---------------
  321.  
  322. Mark RISON
  323. Caius College
  324. GB - Cambridge CB2 1TA
  325. UNITED KINGDOM
  326.  
  327. rison@hep.phy.cam.ac.uk
  328. Mark.Rison@cern.ch
  329.  
  330. 1996-02-11
  331.